函數:指的是將一段程式包起來,有可能是一個功能或是會需要重複執行的內容,除了方便重複使用以外也會更好維護
常見定義函式的方式:
function sayHello() {
console.log("Hello")
}
var sayHello = function() {
console.log("Hello")
}
像上述這種沒有名字的函式又稱為「匿名函式」
除了前面提到的變數提升,函式也有提升的效果
下列程式碼會正常執行印出 Hello ↓
sayHello() // Hello
function sayHello() {
console.log("Hello")
}
運作方式:
// 1. 建立期:
sayHello() // 不做事
function sayHello() { // 宣告 sayHello, 函數與變數不同,在第一階段就會先賦值
console.log("Hello")
}
// 2. 執行期:
sayHello() // 不會出錯,印出 Hello
function sayHello() {
console.log("Hello")
}
var & let / const 宣告 function 的差異
// var
sayHello() // error, not a function (是 undefined)
var sayHello = function() {
console.log("Hello")
}
// let
sayHello() // error, Cannot access 'sayHello' before initialization (沒初始化)
let sayHello = function() {
console.log("Hello")
}